package ningbo.oopstatic;

import sun.applet.Main;

/**
 * @Author 宁铂
 * @Date 2021/7/12 10:54
 * @Version 1.0
 */
public class TestBlock {
    /** 本类用于测试3种代码块与它们执行的顺序 */
    public static void main(String[] args) {
        /** 静态代码块也属于类资源,随着类的加载而加载,优先于对象加载,只加载一次
         *  用于加载一些需要第一时间就要加载,并且只加载一次的资源
         */
        System.out.println(Pig.a);

        Pig pig = new Pig();
    }
}

class Pig{

    /** 执行时机: */
    static{
        System.out.println("我是静态代码块");
    }

    {
        System.out.println("我是构造代码块");
    }

    static String a = "无敌";

    public Pig(){
        System.out.println("无参");
    }

    public void eat(){
        System.out.println("我是杂食动物");

        {
            System.out.println("我是局部代码块");
        }
    }
}